Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(release): 7.0.1 #13676

Merged
merged 79 commits into from
Oct 19, 2023
Merged

chore(release): 7.0.1 #13676

merged 79 commits into from
Oct 19, 2023

Conversation

sfoster1
Copy link
Member

This is the tracking branch for release 7.0.1

koji and others added 4 commits September 26, 2023 15:05
* feat(app): add enable status light section to robotsettings
* fix(app): fix running command list highlight issue
Lowercase the robot's current run status if a status header is rendered. This is made cleaner by
adding a lowerCase format option to our i18n interpolation.
@sfoster1 sfoster1 requested a review from a team as a code owner September 27, 2023 21:20
@sfoster1 sfoster1 requested review from TamarZanzouri and removed request for a team September 27, 2023 21:20
@codecov
Copy link

codecov bot commented Sep 27, 2023

Codecov Report

Merging #13676 (692888c) into release (b8dd3f3) will increase coverage by 0.10%.
The diff coverage is 61.45%.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           release   #13676      +/-   ##
===========================================
+ Coverage    71.00%   71.10%   +0.10%     
===========================================
  Files         2437     2393      -44     
  Lines        70464    65989    -4475     
  Branches      8701     8047     -654     
===========================================
- Hits         50034    46923    -3111     
+ Misses       18473    17179    -1294     
+ Partials      1957     1887      -70     
Flag Coverage Δ
app 68.82% <63.26%> (-0.32%) ⬇️
components 60.61% <43.75%> (-0.22%) ⬇️
g-code-testing 96.44% <ø> (ø)
labware-library 49.17% <ø> (ø)
notify-server 89.13% <ø> (ø)
protocol-designer 46.09% <ø> (-0.89%) ⬇️
react-api-client 67.77% <0.00%> (-1.70%) ⬇️
shared-data 71.75% <ø> (-2.53%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
api/src/opentrons/commands/publisher.py 98.11% <ø> (-0.20%) ⬇️
api/src/opentrons/config/feature_flags.py 100.00% <ø> (ø)
api/src/opentrons/config/reset.py 88.88% <ø> (ø)
api/src/opentrons/execute.py 54.23% <ø> (-0.61%) ⬇️
api/src/opentrons/hardware_control/api.py 82.71% <ø> (ø)
.../opentrons/hardware_control/backends/controller.py 71.34% <ø> (ø)
...entrons/hardware_control/backends/ot3controller.py 68.20% <ø> (ø)
...pentrons/hardware_control/backends/ot3simulator.py 86.44% <ø> (ø)
...c/opentrons/hardware_control/backends/simulator.py 88.63% <ø> (ø)
...rc/opentrons/hardware_control/execution_manager.py 90.54% <ø> (ø)
... and 145 more

... and 115 files with indirect coverage changes

@SyntaxColoring SyntaxColoring requested a review from a team as a code owner September 28, 2023 14:03
@sfoster1 sfoster1 requested a review from a team as a code owner September 28, 2023 18:12
sfoster1 and others added 10 commits September 28, 2023 14:13
This adds a file that lives in the deploy bucket that tracks past
releases of the app. We can use this for autogenerating previous-release
pages and is a good thing to have. We can also use it for release
revocation if we want.
* fix(app): add null-check to all options without odd
On the mount gripper step, we want to display a 'Need help?' link, but not a 'back' button. On the
first pin attachment step (front jaw), we want to remove the 'back' button.
We removed the urls for the old OT-2 infrastructure, because we don't
want them anymore. But because we removed them from the app config, and
the app doesn't downgrade configs, then if you
- ran 7.0, the config gets deleted
- run 6.3.1 or previous, the config never gets restored
and the app just doesn't know where to get robot system updates and
therefore acts as if there are none. That in turn means you can't
downgrade your robot through the app, you have to manually update from
zip.

The gross but only solution is to change the config back to get those
values to be present again when you downgrade. This leaves a historical
hole - someone who ran 7.0.0 and downgraded to 6.3.1 would still have
that behavior - but it's fixed going forward, and those affected can
just remove their app config.
When something hits /settings/pipettes, we load known mutable
configuration overrides. So if you don't have any for the attached
pipettes, we don't return anything.

The thing is, what we actually want is to return all of the mutable
configurations, with overrides applied. So now we do.

Closes RET-1376
* fix(app): fix calibration result summary condition issue
mjhuff and others added 27 commits October 11, 2023 16:49
* refactor(app-shell): perform protocol migration if pre-parity v7.0 protocols folder exists

Migrates protocols to the protocols directory if protocols_v7.0-supported directory exists.
Notable changes:

* Rework `simulate.py` to support PAPIv≥2.14 protocols, via Protocol Engine. This rework mirrors what we did to `execute.py` in #12970.
* Rework the `adapt_protocol_source()` helper to cope with protocols for which we don't know the filename. This is necessary to support `opentrons.simulate.simulate()`, whose `filename` argument is optional.

  Unfortunately, this requires modifications to `opentrons.protocols.parse` to make the filename more pass-through, so `adapt_protocol_source()` can tell when it wasn't provided.

Plus various smaller refactors for type safety, deduplication, and consistency.
#13760)

Block a protocol run if bad calibration data for any required module to mirror pipette checks before
a protocol run
* added taskification of hardware control movement commands to execution manager wrapper
Removes overflow: hidden from the shared styles within the pipette slideout. The top-most slideout
ancestor component requires overflow: auto to prevent undesired resizing after selecting a form
checkbox.
#13762)

Former decoy inside of test did not account for addition of robot type feature flag to door safety switch, other feature flags may make use of this in the future
…3731)

These parameters were in place during a stage in development when the two had yet to fully separate. Adapter ID also removed from V7 due to deprecation.
* refactor(app): remove unused robot restart timeout logic

Removes the redux layer robot update restart timeout logic that is replaced by more generalized
robot update flow error handling.

* refactor(app): refactor robot update failure message
The flex doesn't store its serial number in /var/serial; instead, it
stores it in an onboard eeprom. While we had the code to read it, we
weren't using that code anywhere, and we should expose it to the app for
display.

However, the update server doesn't (and shouldn't) know how to talk to
the onboard eeprom. That's a problem, because it knows perfectly well
how to read a file, and thus is the current source of truth for the
serial.

So this PR
- adds the serial to the robot server health endpoint, on both ot-2 and
flex
- changes the app to try and prefer the serial from the robot server
health endpoint, falling back to the update server health endpoint if
necessary
…sults step (#13792)

* fix(app): fix pipette wizard flows always showing "recalibrate" on results step

Persists hasCalData between renders so as not to return true during the attach/calibration wizard
flow after the calibration step.
These need to get uploaded to pypi and were not because of some kind of
version conflict in api. With a bit of judicious pipenv relocking all is
well.
Some combination of pydantic and fastapi (fastapi, I'm pretty sure, due
to things like pydantic/pydantic#1223 )
conflate "null" and "not present" in weird ways. This means that in the
health response pydantic class,
- If you create robot_serial in the proper way to have a pydantic field
that can be either a string or null but must always be passed in to the
constructor - annotation Optional[str] and do not provide a default -
then pydantic will say there's a field missing if you explicitly pass
in null (the bug this fixes, since this 500s the route)
- If you create robot_serial with a default value, which is _not
correct_ because there is no default, then something (probably fastapi)
will remove the _key_ from the model rather than issueing it with a
null, which is terrible, but is better than the other way I guess.

Updating fastapi might help with this maybe. I don't know.
…er on heater shaker module (#13803)

Properly combine dynamic logic for opening the heater shaker latch and offloading the labware and
adapters in the correct order during LPC checks of labware on adapters on heater shaker modules

Closes RAUT-803

Co-authored-by: Shlok Amin <[email protected]>
…omplete (#13809)

Ensure that all queries for /calibration endpoints (OT2 only) are invalidated upon completion of any
of the three OT2 calibration flows.

Closes RQA-1814

Co-authored-by: Shlok Amin <[email protected]>
@dapiroy dapiroy merged commit 692888c into release Oct 19, 2023
126 of 132 checks passed
@koji koji deleted the chore_release-7.0.1 branch April 17, 2024 19:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.